主动学习
机器学习力场(Machine learning force filed,MLFF)相比于传统方法,能够更快和精确地预测材料性质和反应机理,当前最先进的基于深度学习的分子动力学已经能够做到百亿原子体系的模拟。但是由于机器学习方法的插值特性,对于训练集之外的相空间,MLFF 很难做出准确预测。由于训练数据通常是使用昂贵的第一性原理计算生成的,现实中很难获取到大量的从头算 数据集,生成具有足够代表性的训练数据但不依赖大量从头算数据,对于提升模型的外推能力至关重要。PWact (Active learning based on PWmat Machine Learning Force Field) 是开源的基于 PWMLFF 的一套自动化主动学习平台,用于高效的数据采样。
PWact
PWact 平台包含主任务和任务分发器两部分,如 结构图 所示。
主任务包括 预训练数据制备
以及 主动学习
两个模块。负责预训练数据制备和主动学习过程中的计算任务生成、以及结果收集。任务分发器接收到任务调度请求之后,根据计算资源使用状态以及任务申请资源情况将任务调度到对应的计算节点上,待任务执行完毕之后,收集计算节点的执行结果返回给主任务程序。
预训练数据制备模块
包括驰豫 (支持 PWmat、VASP、CP2k和DFTB)
、阔胞、缩放晶格、微扰以及运行 MD (支持 PWmat、VASP、CP2k和DFTB)
四个模块,并支持对这些模块的组合使用。
主动学习模块
包括训练
、构型探索
以及标注
模块。首先,训练模块做模型训练;之后将训练好的模型送入探索模块。探索模块调用力场模型做分子动力学模拟,模拟结束后把得到的分子运动轨迹送入查询器做不确定性度量;查询完成后,把待标注构型点送入标注模块;最后标注模块做自洽计算,得到能量和力,作为标签与对应构型一起送入已标注数据库中;重复上述步骤,直到收敛。
-
对于模型训练,我们这里支持 PWMLFF 中的 DP model、DP model with compress 以及 DP model with type embedding,以及 NEP(NEP4) 模型。
-
对于不确定性度量,提供了常用了基于多模型委员会查询的方法,并且也提供了我们最新设计的 单模型的基于卡尔曼滤波的不确定性度量方法 KPU (Kalman Prediction Uncertainty, KPU)。该方法能够在接近委员会查询精度的情况下,将模型训练的计算开销减少到 1/N, N为委员会查询模型数量,欢迎用户尝试。对于 KPU 方法,仅适用于DP模型。
-
对于标注,支持 PWmat、VASP、CP2k和DFTB。
依赖应用
-
PWact 作业调度采用 SLURM 集群管理和作业调度系统,需要您的计算集群上已安装 SLURM。
-
PWact 的 DFT 计算支持 PWmat 、VASP、 CP2K和DFTB,需要您的计算机群已安装PWMAT、VASP或CP2K。对于DFTB, 我们已经在 PWMAT 中集成了 DFTB,您可以在
PWMAT手册的DFTB_DETAIL章节
查看详细使用说明(集成了DFTB的PWmat版本下载地址
)。 -
PWact Lammps 分子动力学模拟 基于 Lammps_for_pwmlff,安装方式参考 Lammps_for_pwmlff 文档 或者 在线手册
安装流程
PWact 支持pip 命令安装与源码安装两种安装方式。
1.pip 命令安装
安装包已上传至pypi 官网,支持直接使用pip install 安装。
pip install pwact